package aprendamos.java.servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import aprendamos.java.bean.ClienteDTO;
import aprendamos.java.util.MySqlDBConn;

import java.sql.*;

public class LogueoServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void service(HttpServletRequest reqcito,
			HttpServletResponse response) throws ServletException, IOException {

		// 1. Recuperamos los parametros que llegan en el request
		String vusuario = null;
		String vclave = null;

		// 2. Validamos si existe el usuario en b.d.
		System.out.println("este es en el servlet!!!");
		ClienteDTO usuarioCandidato = new ClienteDTO();
		
		usuarioCandidato.setUsuario(vusuario);

		ClienteDTO usuario = this.validaUsuario(usuarioCandidato);

		
		// si el usuario es diferente de null

				
				// 2.1 Creamos la sesion web
				// La sesion web es una zona de memoria que es mas permanente
				// que un request

				
				
				//cargamos el usuario en la sesion web

				
				
				// 3. despachamos el request hacia otra pagina
				RequestDispatcher rd = reqcito
						.getRequestDispatcher("/bienvenida.jsp");

				
				// 3.1 despachamos
				rd.forward(reqcito, response);



	}


	private ClienteDTO validaUsuario(ClienteDTO usuarioCandidato) {
		// TODO Auto-generated method stub
		ClienteDTO elcandidato=null;
		//Obtenemos una conexion a b.d.
		Connection cn = null;
		
		
			//definimos la sentencia
			String sql="select usuario,clave,nombre,sueldo,sexo,fecnac " + " " +
				"from tbcliente where usuario=?";
			
			try {
				//la preparamos
				PreparedStatement pst = cn.prepareStatement(sql);
				
				//asignamos valores a las interrogantes
				
				
				//ejecutamos
				ResultSet rs=pst.executeQuery();
				
			
				//si hay datos, recuperamos un registro
				if (rs.next()){
					elcandidato = new ClienteDTO();
					elcandidato.setUsuario(rs.getString(1));
					
					
				}
				
				
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		
		
		return elcandidato;
	}

}
